This week I tested a variety of solenoids with my team to determine which worked best for our project.
To pass our test, a solenoid had to push down on the first fret of the low E string with enough force so that no buzzing can be heard when the string is plucked and the vibrations of the strings do not move the solenoid plunger. We tested this by clamping the solenoid directly above the string and directly connecting it to a power supply. We tested solenoids that ranged from 12V to 24V.
We found that only one solenoid operating at 24V was closest to our goal, but was still not strong enough. This meant we had to come up with a new design to mechanically increase the force of the solenoid because we did not want to use more powerful solenoids because of the current and voltage levels they require and the amount of heat they can produce, and since we will be using many solenoids, this can be very inefficient and power consuming.
I worked with Wuxiucheng and asked a mechanical engineering friend of mine about techniques to mechanically increase force, and we decided to try out a lever system. We came up with 3 tests that we will work on during the weekend (lever designs: see pictures below). I went with Wuxiucheng to the physics machine shop and we picked up a few parts that we will need to build the apparatus that we will test with. We also ordered another solenoid and a servo motor to test other options.
The “failure” of the solenoids was a good learning point because it made me aware of the fact that things might not go as planned and backup plans are required. Aside from the physical project work, I worked on the functional specification report with my team. Our team had a bit of idea clashes early this week about the design we wanted to implement, but as the team leader I tried to remind everyone that even though we are a team, everyone is in a role that they are happy with and that they would be responsible for presenting the main design of their part. After that we can discuss, as a team, the necessary improvements and criticism.
Total Hours: 8
This week I did some research on the 555 timer so that we can use it for the temperature control circuit. I found a circuit that uses the 555 timer to generate a base frequency, but also change the duty cycle based on an input, which is what we were looking for. We will begin building the circuit once the parts arrive next week. This week I also tried optimizing the lever design by making it more stable and testing different pivot points. We tried another solenoid to see if more power would be helpful, but it didn’t prove to be significantly better. I did other research to try and find a better solution to the problem we have of pressing down on the string and I found a tool that we can use to increase the accuracy of where we push down on the string and manage to fit 6 “buttons” in one fret for 6 strings (check the picture to better understand this). I also tested the power supply we borrowed with Wuxiucheng to find out if it was functioning correctly and if it provided enough voltage/current for our solenoids. We also tested if we can apply a large voltage for a short amount of time to the solenoid so that it hits the string with a lot of power, and then turn down the voltage so that it doesn’t heat up, and we realized that it still pushes down with enough force and it doesn’t heat up as much, which was a great improvement. We also began working on the strumming part and we used the solenoid to test if it is powerful and fast enough to pluck/strum the strings, and it was. Next week we will build the temperature control signal and test it, and we will also test the guitar tool to see if it can produce better and more accurate sound, and reduce the force needed to push down on the string. We also plan on finishing the strumming functionality. I learned this week that doing research can greatly improve our design by giving us new ideas and showing us new tools that we didn’t know existed, but also testing can guide us to improvement because we become aware of the weaks spots and think of ways to fix them.
Total Hours: 13
This week I focused on testing the mechanical parts of the project and doing research to find better solutions to pushing on the guitar strings. As mentioned last week, I bought a tool for guitar beginner’s that helps align fingers and push on the strings and I was able to test it this week. It works well and I believe it will make this process easier for us, however, the solenoid that we have been using was not strong enough to work perfectly with this tool. This tool fixed our problem with accuracy and fitting 6 mechanical parts on one fret. Since the solenoid was not strong enough, we needed another part that can be of similar size, but provide more force in a controlled way. I did research on linear actuators and bought car door locks and tested them out and they worked well. They are also pretty cheap, which will reduce our cost a lot. They are somewhat larger than the solenoids, but we can directly put them on top of the strings and also connect them with a metal rod. Through my research I also came across pneumatic cylinders which get their power from compressed air and produce a large force and they are relatively small in size. I talked to Joe and asked him to find an air compressor for us to test these cylinders with. I will order some over the weekend to test next week. For the car locks we will need an h-bridge to reverse the polarity so that it can move back and forth and I borrowed one from Joe and tested it. I also worked on the strumming part and I learned that the solenoid will probably not work because the spring on it does not provide enough force to go back against the string. But from experience with the car door locks, we figured that they would work perfectly for this. My plan for next week is to test the pneumatic cylinders and make a final decision on which part to use (car door lock or pneumatic cylinder). This week we had a small clash between the electrical and software parts and as the team leader I made sure both leaders of those parts debated their solutions and finally agreed on a common solution. I also made sure that my team choose a microcontroller this week so that we can order it over the weekend and start programming next week. From the “clash” this week I learned that communication is essential for every part because people tend to have different ideas and sometimes they might not see its weaknesses until someone else points it out.
Total Hours: 10
This week I had two main focuses. The first focus was to continue testing different methods of pushing down on the string to try and choose the best method. This week I bought a strong servo and began testing with it. It was difficult to test with the servo because its motion is not linear, but I tried attaching a metal piece at the end to limit the rotation and aim for a slight angle with linear motion. This showed me that there is potential for servos, but a better apparatus is needed to properly test it and that is what I will be doing next week. I did some research to try and find the best way to convert a servo’s motion into linear motion and next week I will be testing those ways. My second focus this week was to simulate the input coming from the microcontroller to the servo/solenoid/pneumatic cylinder/whichever device we choose to use to push down the string and to use LEDs to show which strings are pressed according to a given serial input. I tested it with a shift register and I was able to successfully shift the correct bits in and light the correct LEDs, but I realized that a simple shift register is not what we need because we do not want the bits to shift through each output, instead I talked to Joe and explained that we needed something to shift the bits, but only release them to the output once all have been shifted into the correct position. He told me that there was a chip that had that functionality, and I looked it up and tried getting it from the instrument shop in EE, but they didn’t have it. So I will either order it online or program a PLD with a latch to do the same job. This week I also bought a force gauge and tested the force needed to press down on the heaviest fret so that I can know what force is required. It turned out that we needed 20-25 N. Next week my job will be perfecting the LED simulation and properly testing the servos to know if we can use them or start testing pneumatic cylinders.
This week was mainly a week of planning. We realized that the most difficult task we have is pushing down on the frets. I tried to come up with all the solutions I could think of for this problem so that we can try them and pick the best one. We definitely want to use the EZ-fret because it will make the process a lot easier and more accurate, but the problem is with the thing that will push down. I want to retest the solenoids and try to build a better testing apparatus. The reason for that is because they are much simpler to operate than a servo and they do not draw nearly as much current as the car door locks. We do not want to deal with pneumatic cylinders because although they can do the job, they will require a lot of pipes and an air compressor. This will be our backup plan though. We have made a decision to buy a cheap electric guitar and extra light strings because this will require less of a push force. So I did some research on the thickness of the strings and the force needed to push them down and I also picked a cheap guitar. We also came up with a plan for the next few weeks. We have decided that since we know all of the options for the pushing down mechanism, but since it is difficult to test, we will finish the other stuff first, and then spend all of our time on that part. That means that we will deal with the strumming first and we decided to use servos for that, and we will also simulate the pushing down on frets with LEDs. I did some research and found a board that can output 16 PWM’s and we will use that to control the servos for strumming. The EZ-fret might not fit properly on the electric guitar and if we can’t push down on the strings accurately without it, we might 3D print one. The problem with the mechanical part has taught me the importance of teaming up with engineers from other disciplines. Next week, I plan on working on the strumming portion and also the LED simulation.
Total Hours: 5
I started out this week by testing the new electric guitar we bought. The first test I made was a quick sound check to make sure that it was working fine and I also wanted to test if there would be noise from the mechanical parts when it was hooked up to an amplifier. Another test I made, which is a more important test, was making sure that the EZ-fret fit on it. Thankfully, it did fit. It is not a perfect fit, but it still works well. If we get the hang of 3D printing, we will probably re-do the one we have to provide a better fit part. I also used to the force gauge to test the amount of force needed to push down on the electric guitar string, and it is a lot less than that of the acoustic guitar, which is a good sign because now we can go back to testing solenoids and not have to deal with high current from the car door locks or the rotary to linear motion of the servos. The solenoids still might not work, but that is what we plan to test this weekend. After testing the servo and buying the PWM generator, I went ahead and bought the rest of the servos we need for the strumming part and hopefully this weekend I will design a layout for them and test their functionality on the guitar using an Arduino and the PWM generator once we get that working. I couldn’t do that much work during this week because I was preparing for an interview, but I plan to make it up during the weekend now that I have most of the parts I need. Next week I plan to have the strumming part done and tested with an arduino and the PWM generator and also have an LED matrix to simulate pushing down on the strings.
Total Hours: 15
This week I was strictly working on the mechanical part. It has become the most difficult part of our project because we are having trouble finding the right part to use. We have tested with different guitars, with and without the EZ-Fret, with solenoids, with servos, with car door locks, but none are giving us the results we want. This week however, we managed to figure out how to do the right hand side, which is the strumming/plucking of the strings. I attached a guitar pick to a servo and programmed it to respond to a switch and switch between two angles to pluck the string. The servo does make noise, but hopefully the amplifier will cover that. Our next challenge for that part is how to actually place the 6 servos on the guitar because the space of the strings is not very big, but the servos are. They also need to be at an optimum height because if they are too low, they won’t have enough force to pluck the string, and obviously if they are too high they won’t come in contact with the string. For the left hand side, our trouble side, I have tested solenoids again, and they somewhat work without the EZ-fret, however they give a very loud bang when they hit the string, they are not that consistent and pressing hard enough, they need to be at an optimum height to work well, and they are relatively big to fit 6 on one fret. They are also out of stock everywhere. What I decided to do is 3D print a device that converts the servo’s rotary motion to linear motion, and this week I’ve been printing different ones and testing them out. We still haven’t printed the perfect design, but we are working on it and hope that it will work. Before deciding to go with the 3D printing method, I drilled a hole in the servo head and another hole in an aluminum part and attached them together to try and get linear motion, but it was not very successful. I hope that we can refine our 3D model and find one that fits well and also provides enough force to push down on the strings. Next week I plan to have the perfect 3D printed device that correctly converts the rotary motion to linear motion and test it to make sure it provides enough force. I also plan to begin designing the support structure for the entire project so that we can attach the servos to the guitar and set them in place.
Total Hours: 35
This week was a pretty intense week because I and Wuxiucheng Wang took on one of the toughest challenges of our project, the mechanical part. We began planning towards the end of spring break and we began execution the first day back. We decided that our testing techniques were not very efficient because we didn’t have a stable structure to test with. We felt that the solenoids should work, but they just need to be “part of the system” to provide enough force. We did a lot of research and bought a bunch of different solenoids to test with again, and we found one that is very strong, however, we probably do not need it to be that strong once we have a good testing apparatus. We designed the support structure for the guitar and the testing apparatus and spent a day at Lowe’s buying all the tools and supplies we needed. We began building the support structure and we would go back and forth between the machine shop in the physics building, which we have access to, and our lab. There were many obstacles along the way because we had to take a lot of precise measurements and redo a lot of the parts because of the nature of the project. Finally on Friday, we managed to get a working prototype and we tested the solenoid and it worked perfectly. This is a huge milestone for our project because this was one of the most challenging and stressful tasks. The solenoids we are using are a bit too large and we are unable to fit 6 on each fret, so we ordered a bunch of smaller solenoids to test with, but if they do not work, we still have a perfect plan for the solenoids we are currently using. What we will do in that case is map out similar notes on different strings so that we can cover all the notes, but use the minimum number of solenoids and then in the software, make sure to map the notes to the correct positions. For instance, on the 6th string on the guitar (low E), the 5th fret is the same note as the open 5th string (A). This means we do not need a solenoid on the 5th fret on the 6th string. We did this for all the notes so that we use a maximum of 3 solenoids per fret, which can fit easily because none of them are directly next to each other, and this does not affect the sound quality or limits the notes because we still get all the notes. Next week we hope to continue testing and perfect our prototype and also debug the PCBs. We also want to begin controlling our solenoids with the microcontroller. I am glad that we took the time to build this support structure because it helped our project out a lot and solved our most difficult problem. Things will start to get more exciting starting next week!
Total Hours: 21
This week Wuxiucheng and I took on our next challenge, which is the right hand side of the guitar, or the plucking/strumming of the strings. We wanted to build a structure to hold the solenoids in place perpendicular to the strings at different heights so that they would hit them. We took measurements to see how many solenoids we can fit on both sides of the string and we decided to have 3 on each side. We built a prototype for one side using a wooden block. We made holes in the wooden block to fit the solenoids and we removed some of the top so that they can release their heat. We also added a slit underneath the back part of the solenoids so that we can add a straight metal piece so that the plunger does not rotate. We started testing with this prototype and we quickly realized that there is a problem with hitting the strings in this perpendicular fashion at a constant height; when a string is pressed on the fret, the part of the string that will get plucked moves down, and is no longer in the range of the plunger. This really annoyed us because we spent a lot of time on this prototype and we had trouble figuring out an adjustment to our current prototype that would work. While messing around, we held the prototype above the strings and made the solenoids hit down on the strings, and we quickly realized that the height change would not be an issue in this case and that this will work. We spent the remaining week building the structure for the right hand side in the up/down fashion and we did some preliminary tests that we will refine early next week once the machine shop opens. We also made slits on the metal sheet for the left hand side so that we can see how many solenoids we can fit on each fret. This week I also programmed the microcontroller to control the solenoid using a switch by outputting a control signal to an n-channel mosfet, which then provides the solenoids with 24V. Next week I plan to finalize the prototypes for both the left and right hand sides and hopefully be able to control them with the microcontroller through our pcb that drives the solenoids. This has been a productive week and I’m glad that we were able to find a solution to both the left and right hand sides.
Total Hours: 25
This week we tried to perfect the left hand side (the solenoids pushing down on the strings). We cut two new metal sheets and we drew the guitar neck on one of them and measured the diameter of the solenoid so that we can see how many we can fit. It was a tough task because there are a lot of factors to consider and the space is very small. We drew marks on the metal sheet so that we know where to cut so that we can try to fit 6 solenoids per fret. We went to the machine shop and made all the cuts we needed to test and we were able to fit 6 on the first and second fret, but then we ran into a problem between the second and third frets. The cut we made was too close to the second fret so we couldn’t properly fit the solenoids. We are aiming to try and fit 6 on the first 4 frets because that will enable us to play almost any music. Our challenge this week is to try and see if we can make adjustments and fix our previous design to see if we can fit 6 solenoids on the first 4 frets. If we can’t, then we will try to map out the guitar fret so that we have at least 2 of each note covered. This week we will also try to complete the right hand side. Another thing we decided to do is buy a classical-electric guitar, which has softer strings made from nylon and also the fretboard is bigger, we will see if this will fix some of the problems we are having. Another great achievement we had this week is we finally were able to program something on our stamp board. This was a great accomplishment because we spent a lot of time this week debugging stamp boards and it was very stressful because the entire project relies on it. I downloaded many different IDE’s and drivers because the ones we were using didn’t seem to be well installed/prepared. I then tested on the discovery board and when we got that working with the new IDE, we figured out how to program our stamp board from the discovery board, and we did it and got a blinky program on it so that an LED blinks. This week was very frustrating because of all the setbacks we had from the mechanical side and the stamp board, but we finally got the stamp board to work, we are left with the mechanical part, which we will try our best to find a solution to this week.
Total Hours: 20
This week I worked more on the mechanical part to try and get the right hand and left side working together. We currently have trouble fitting 6 solenoids on each of the first 4 frets, but we realized that we don’t really need to do that because we can map out the same notes on different frets. I attached guitar picks to the solenoid plungers and cut them so that they fit between two strings and also be able to strike the string while going up and down. This was a challenging task because they had to be very small and they had to be a very specific distance from the string so that they don’t get stuck. They also had to be cut in a way so that they work while striking up and down, basically sliding on the string. Once I had that done, we managed to control the right hand side with our solenoid driver PCB and we were able to pluck all the strings. We then added solenoids to the left hand side and began controlling both sides together. Sid hard coded some control signals so that we can play a D chord and it worked. It doesn’t sound too great because the plunger usually hits the inside of the solenoid when it reaches its maximum stroke and the metal sheet amplifies that sound, but we were able to reduce that greatly by adding a small piece of heat shrink inside the solenoid so that it reduces the sound caused by metal on metal contact. Another issue is that the metal tip we have attached to the bottom of the left hand side solenoids makes a sound when it hits the string and when it’s released, and for that I have ordered some rubber stoppers and I will try to attach them next week and see if they stop the left hand side from making a sound before the string is plucked on the right hand side. This week I also ordered a solenoid that is smaller in diameter and I will test it soon to see if it can provide enough force to push down on the string, if it does then we will probably replace all our solenoids with smaller ones so that we can easily fit 6 on each of the first 4 frets. This week we also managed to get the stamp board to work with the code that controls the solenoids. Next week I plan to have a simple song playing and trying to reduce the unnecessary sounds from the solenoids.
Total Hours: 20
This week was filled with ups and downs. We finally had the right and left hand sides working, but it was not time to put the whole project together. I placed the solenoids over the correct frets to play the song we chose and I configured the right hand side so that it hits the string rather than picks it. That way we avoid the issue we had with the solenoid rotating and the pick missing the string. We were first testing using the discovery board and LEDs on a breadboard, but then I connected the control signals to the solenoid driver boards. We were able to play a song using that setup and it was a great milestone because our project had worked, and the song did not sound too bad. Next, we had to program our stamp module, which we did. It has a faster oscillator and so some adjustment had to be made in the timer module to negate that effect. The stamp board worked well with the LED setup. I placed the PCBs on our support structure and wired them so that power and ground and any common signal was cascaded. I then connected the solenoids and their control signals to the solenoid driver and the microcontroller. The stamp board outputs were connected to the solenoid drivers and we were ready to play the song using our stamp board and finalizing our project. The right hand side worked fine, but we noticed that the left hand side was not working. We debugged it for a long time and we couldn’t find a reason why it wasn’t working because when we connected it to a PCB on its own, it worked fine. All the pieces worked alone, but together they didn’t. We suspected that it might have been an issue when we cascaded common signals between boards or that too much current was being drawn. Before we were able to do anymore testing or debugging, our bluetooth module connection was no longer working and it seemed like the stamp board was broken. I spent a lot of time debugging the board and putting dummy programs on it and they work fine, but when we put our project code, it does not work. Wuxiucheng Wang soldered two more boards, but we were having the same issues with them as well. We are uncertain whether the problem is with the boards (possibly the faster oscillator) or the code. It is unlikely that it is the code because it works fine on the discovery board, but at the same time it is bizarre because the code was working a few hours earlier on our stamp board. It could be that something broke on the stamp board, which is affecting some but not all things. We will spend this weekend doing more debugging and possibly ordering new parts to solder new boards and test with those. This is a very weird and frustrating situation because everything was working fine and then suddenly a lot of things stopped working. Hopefully we will be able to get it to work again.
Total Hours: 20
For this final week it was all about getting ready for the spark challenge. We managed to get our final PSSCs checked off on Monday, and then we started preparing for the spark challenge on Friday. I chose the songs that we were going to play and I mapped out the notes on the guitar fret. Since we can’t place two solenoids directly next to each other I had to re-map some of the notes to different parts on the guitar neck, this meant we had to cut more slots on the metal sheet, which Wuxiucheng did. I tried to map out as many notes as we can fit on the guitar neck, and it was a challenge because I tried to include the most common notes and the ones that are in the three songs we were going to demo. After mapping out everything, I placed the solenoids in their correct positions and I connected them to the PCB and stamp module and we were able to play the three songs. We then went to the spark challenge and demonstrated our project to the people there and I had my real guitar with me so that we can play along with our project. It was a great success and we ended up winning (first place).